home *** CD-ROM | disk | FTP | other *** search
/ Network Supervisor's Toolkit / Network Supervisor's Toolkit.iso / tools / lu62 / proc / ftpend.c < prev    next >
C/C++ Source or Header  |  1996-07-10  |  1KB  |  56 lines

  1. /*
  2.  * CopyRight 1995. Nicholas Poljakov all rights reserved.
  3.  */
  4. #include <malloc.h>
  5. #include <stdio.h>
  6. #include <dos.h>
  7. #include <tps.h>
  8. #include <state1.h>
  9.  
  10. tp_ended (tp_id,
  11.       rc)
  12.  
  13. unsigned char tp_id[8];
  14. unsigned long *rc;
  15.  
  16. {
  17.    /*    union REGS inregs,outregs;
  18.         struct SREGS segregs;
  19.     */
  20.        char _near *dp1;
  21.        char _near *dp2;
  22.        struct tp_ended *ptr;
  23.  
  24.    if ((ptr = (char *)calloc(1, sizeof(struct tp_ended))) == NULL) {
  25.         *rc = PORT_BUSY; /* ¡ÑΓ ñ«ßΓπ»¡«⌐ »á¼∩Γ¿ */
  26.         return(0);
  27.    }
  28.  
  29.    ptr->verb_cd=TP_ENDED;
  30.  
  31.    memcpy(ptr->tp_id,tp_id,8);
  32. /*
  33.      inregs.x.dx = FP_OFF(ptr);
  34.      segregs.ds = FP_SEG(ptr);
  35.      inregs.x.ax = ptr->verb_cd;
  36.  
  37.  int86x(0x68,&inregs,&outregs,&segregs);
  38.  */
  39.      dp1 = FP_OFF( ptr );
  40.      dp2 = FP_SEG( ptr );
  41.      _asm
  42.          {
  43.             push  ds
  44.             mov   dx, word ptr dp1[0]
  45.             mov   ax, word ptr dp2[0]
  46.             mov   ds, ax
  47.             mov   ax, TP_ENDED
  48.             int   68h
  49.             pop   ds
  50.          }
  51.  
  52.      *rc = ptr->rc;
  53.      free(ptr);
  54.      return(0);
  55. }
  56.